1. Technical Field
The present invention relates generally to remotely accessing and running a program, and particularly to a remote procedure call (RPC) mechanism for arbitrary user space libraries over existing system management protocols.
2. Description of Related Art
The advance of networked computer systems has made it possible to remotely access and run programs that are not locally stored on a user's physical computer. In other words, a user may access and run a program from across a network connection, where the libraries and other aspects of a program are stored at a distant location. Traditionally, to provide remote access to a library one had to use a Sun Microsystems RPC mechanism or some other RPC, such as XML-RPC. The reliance of a standard RPC mechanism for remote invocation has drawbacks, as it forces user applications to use low-level functional interfaces to access the remote libraries. There are also known security and dependency concerns with traditional RPC. For this reason there are very few instances of user applications designed to interface natively with RPC.
Simple Network Management Protocol (SNMP) is one of the most popular management protocols. Many vendor tools support SNMP interfaces, and a large percentage of all enterprise class computer and switch hardware natively supports management of some functions via SNMP. SNMP is a data driven protocol; operations are fundamentally either retrieve or write to a single data element or possibly a group of elements.
A computer library function can perform nearly any arbitrary function. However, almost any function that exists can be logically decomposed into a series of data operations (i.e., write and retrieve), and exploitation usage operations of those data operations (i.e., analyze or perform some function of the data). This decomposition is important as it provides a mechanism for decomposing library functions into data driven operations while retaining usage exploitations. The retrieve and write operations operate on data, while usage operations manipulate on previous instantiated data, and possibly provide output data.
In view of the above, it would be advantageous to have an RPC mechanism for arbitrary user space libraries over existing system management protocols, specifically SNMP.